﻿using WindowsGame.Manager;
using Ninject.Modules;

namespace WindowsGame.IoC
{
	/// <summary>
	/// StaticModule binds interface/implementation for all applicable objects.
	/// </summary>
	public class StaticModule : NinjectModule
	{
		public override void Load()
		{
			Bind<IGameManager>().To<GameManager>().InSingletonScope();

			Bind<ICameraManager>().To<CameraManager>().InSingletonScope();
			Bind<IContentManager>().To<ContentManager>().InSingletonScope();
			Bind<IDeviceManager>().To<DeviceManager>().InSingletonScope();
			Bind<IGameObjectManager>().To<GameObjectManager>().InSingletonScope();
			Bind<IGraphicsManager>().To<GraphicsManager>().InSingletonScope();
			Bind<IInputManager>().To<InputManager>().InSingletonScope();
			Bind<IScreenManager>().To<ScreenManager>().InSingletonScope();
		}
	}
}